home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / doc / python-newt / examples / popcorn.py < prev   
Encoding:
Python Source  |  2000-05-16  |  2.9 KB  |  114 lines

  1. #!/usr/bin/python
  2.  
  3. from snack import *
  4. import sys
  5.  
  6. def help(screen, text):
  7.     raise ValueError, "foo"
  8.     ButtonChoiceWindow(screen, "Help", text, help = "Help on help")
  9.  
  10. t = TextboxReflowed(25, "Some text which needs to be wrapped at a good place.")
  11. li = Listbox(5, width = 20, returnExit = 1)
  12. li.append("First", "f")
  13. li.append("Second", "s")
  14. li.insert("Another", "a", "f")
  15. li.delete("a")
  16. ct = CheckboxTree(5, scroll = 1)
  17. ct.append("Colors")
  18. ct.addItem("Red", (0, snackArgs['append']), "red item key")
  19. ct.addItem("Yellow", (0, snackArgs['append']))
  20. ct.addItem("Blue", (0, snackArgs['append']))
  21. ct.append("Flavors")
  22. ct.addItem("Vanilla", (1, snackArgs['append']))
  23. ct.addItem("Chocolate", (1, snackArgs['append']))
  24. ct.addItem("Stawberry", (1, snackArgs['append']))
  25. ct.append("Numbers")
  26. ct.addItem("1", (2, snackArgs['append']))
  27. ct.addItem("2", (2, snackArgs['append']))
  28. ct.addItem("3", (2, snackArgs['append']))
  29. ct.append("Names")
  30. ct.addItem("Matt", (3, snackArgs['append']))
  31. ct.addItem("Shawn", (3, snackArgs['append']))
  32. ct.addItem("Wilson", (3, snackArgs['append']))
  33. ct.append("Months")
  34. ct.addItem("February", (4, snackArgs['append']))
  35. ct.addItem("August", (4, snackArgs['append']))
  36. ct.addItem("September", (4, snackArgs['append']))
  37. ct.append("Events")
  38. ct.addItem("Christmas", (5, snackArgs['append']))
  39. ct.addItem("Labor Day", (5, snackArgs['append']))
  40. ct.addItem("My Vacation", (5, snackArgs['append']))
  41. b = Button("Button")
  42. e = Entry(15, "Entry")
  43. l = Label("label")
  44. cb = Checkbox("checkbox")
  45. r1 = SingleRadioButton("Radio 1", None, 1)
  46. r2 = SingleRadioButton("Radio 2", r1)
  47.  
  48. def something():
  49.     print hello
  50.  
  51. screen = SnackScreen()
  52.  
  53. screen.helpCallback(help)
  54.  
  55. foo = EntryWindow(screen, 'Title', 'This is some text for the entry window',
  56.         ['prompt', 'more', 'info'])
  57.  
  58. lbcw = ListboxChoiceWindow(screen, 'Title 2', 
  59.             'Choose one item from the list below:', 
  60.             ('One', 'Two', 'Three', 'Four', 'Five'), default = 2,
  61.             help = "Help for a listbox")
  62.  
  63. sg = Grid(2, 3)
  64. sg.setField(b, 0, 0, anchorLeft = 1)
  65. sg.setField(e, 1, 0, (1, 0, 0, 0), anchorLeft = 1, anchorTop = 1)
  66. sg.setField(l, 0, 1, (0, 1, 0, 0), anchorLeft = 1)
  67. sg.setField(cb, 1, 1, (1, 1, 0, 0), anchorLeft = 1)
  68. sg.setField(r1, 0, 2, (0, 0, 0, 0), anchorLeft = 1)
  69. sg.setField(r2, 1, 2, (1, 0, 0, 0), anchorLeft = 1)
  70.  
  71. g = Grid(1, 3)
  72.  
  73. g.setField(t, 0, 0)
  74. g.setField(li, 0, 1, (0, 1, 0, 1))
  75. g.setField(sg, 0, 2)
  76.  
  77. g.place(1, 1)
  78.  
  79. screen.gridWrappedWindow(g, "title")
  80.  
  81. f = Form("This is some help")
  82. f.add(li)
  83. f.add(b)
  84. f.add(e)
  85. f.add(l)
  86. f.add(cb)
  87. f.add(r1)
  88. f.add(r2)
  89. f.add(t)
  90.  
  91. res = f.run()
  92.  
  93. screen.popWindow()
  94.  
  95. g = GridForm(screen, "Tree", 1, 2)
  96. g.add(ct, 0, 0, (0, 0, 0, 1))
  97. g.add(Button("Ok"), 0, 1)
  98. g.runOnce()
  99.  
  100.  
  101. screen.finish()
  102.  
  103. print "val", e.value()
  104. print "check", cb.value()
  105. print "r1", r1.selected()
  106. print "listbox", li.current()
  107. # returns a tuple of the wrapped text, the actual width, and the actual height
  108. print res
  109.  
  110. print foo
  111. print 'lbcw', lbcw
  112. print "ct selected", ct.getSelection()
  113. print "ct current", ct.getCurrent()
  114.